From: sos22@douglas.cl.cam.ac.uk Date: Sat, 28 Jan 2006 10:09:18 +0000 (+0100) Subject: Fix build. X-Git-Tag: archive/raspbian/4.8.0-1+rpi1~1^2~16519 X-Git-Url: https://dgit.raspbian.org/%22http://www.example.com/cgi/success//%22http:/www.example.com/cgi/success/?a=commitdiff_plain;h=3c66de8cb23336c87901d670e917f50671445e00;p=xen.git Fix build. Signed-off-by: Steven Smith, sos22@cam.ac.uk --- diff --git a/linux-2.6-xen-sparse/arch/xen/x86_64/mm/init.c b/linux-2.6-xen-sparse/arch/xen/x86_64/mm/init.c index fb614ef453..ca89138f44 100644 --- a/linux-2.6-xen-sparse/arch/xen/x86_64/mm/init.c +++ b/linux-2.6-xen-sparse/arch/xen/x86_64/mm/init.c @@ -93,14 +93,11 @@ static void early_make_mmu_page_readonly(void *va) BUG(); } -void make_mmu_page_readonly(void *va) +void make_page_readonly(void *va) { pgd_t *pgd; pud_t *pud; pmd_t *pmd; pte_t pte, *ptep; unsigned long addr = (unsigned long) va; - if (xen_feature(writable_mmu_structures)) - return; - pgd = pgd_offset_k(addr); pud = pud_offset(pgd, addr); pmd = pmd_offset(pud, addr); @@ -111,16 +108,20 @@ void make_mmu_page_readonly(void *va) xen_l1_entry_update(ptep, pte); /* fallback */ if ((addr >= VMALLOC_START) && (addr < VMALLOC_END)) - make_mmu_page_readonly(__va(pte_pfn(pte) << PAGE_SHIFT)); + make_page_readonly(__va(pte_pfn(pte) << PAGE_SHIFT)); } -void make_mmu_page_writable(void *va) +void make_mmu_page_readonly(void *va) { - pgd_t *pgd; pud_t *pud; pmd_t *pmd; pte_t pte, *ptep; - unsigned long addr = (unsigned long) va; - if (xen_feature(writable_mmu_structures)) return; + make_page_readonly(va); +} + +void make_page_writable(void *va) +{ + pgd_t *pgd; pud_t *pud; pmd_t *pmd; pte_t pte, *ptep; + unsigned long addr = (unsigned long) va; pgd = pgd_offset_k(addr); pud = pud_offset(pgd, addr); @@ -132,30 +133,46 @@ void make_mmu_page_writable(void *va) xen_l1_entry_update(ptep, pte); /* fallback */ if ((addr >= VMALLOC_START) && (addr < VMALLOC_END)) - make_mmu_page_writable(__va(pte_pfn(pte) << PAGE_SHIFT)); + make_page_writable(__va(pte_pfn(pte) << PAGE_SHIFT)); } -void make_mmu_pages_readonly(void *va, unsigned nr) +void make_mmu_page_writable(void *va) { if (xen_feature(writable_mmu_structures)) return; + make_page_writable(va); +} +void make_pages_readonly(void *va, unsigned nr) +{ while (nr-- != 0) { - make_mmu_page_readonly(va); + make_page_readonly(va); va = (void*)((unsigned long)va + PAGE_SIZE); } } -void make_mmu_pages_writable(void *va, unsigned nr) +void make_mmu_pages_readonly(void *va, unsigned nr) { if (xen_feature(writable_mmu_structures)) return; + make_pages_readonly(va, nr); +} + +void make_pages_writable(void *va, unsigned nr) +{ while (nr-- != 0) { - make_mmu_page_writable(va); + make_page_writable(va); va = (void*)((unsigned long)va + PAGE_SIZE); } } +void make_mmu_pages_writable(void *va, unsigned nr) +{ + if (xen_feature(writable_mmu_structures)) + return; + make_pages_writable(va, nr); +} + /* * NOTE: pagetable_init alloc all the fixmap pagetables contiguous on the * physical space so we can cache the place of the first one and move